package org.javaboy.demo.controller;

import org.javaboy.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

@Controller
public class UserController {

    UserService userService;

    /**
     * 由于当前类只有这一个构造器，所以 Spring 容器在获取当前类实例的时候，只能调用这个构造器了
     * 由于这个构造器需要参数，所以此时就会自动去 Spring 容器中找到 UserService 实例。
     *
     * 这是 Spring 官方推荐的注入方式
     *
     * @Autowired 可以通过这个注解去指定要调用哪一个构造器
     * @param userService
     */
    @Autowired
    public UserController(UserService userService) {
        this.userService = userService;
    }

    /**
     * 如果存在多个构造器，就需要指定具体调用的构造器了
     */
//    public UserController() {
//    }

    public String sayHello() {
        return userService.sayHello();
    }
}
